package com.rabboit.config2;

import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @author: LI-CI-GAO
 * 作者: licigao
 * 日期: 2021/9/1  16:22
 * 描述:  当消息没有正确的到达 队列的时候会被调用
 */
//@Component
public class MyRetrunCallback1 implements RabbitTemplate.ReturnCallback {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    @PostConstruct
    public void postInit(){
        rabbitTemplate.setReturnCallback(this);
    }

    @Override
    public void returnedMessage(Message message, int i, String s, String s1, String s2) {
        //
        System.out.println("--1-消息---"+message);
        System.out.println("---2-错误码--"+i);
        System.out.println("---NO_ROUTE-3--"+s);
        System.out.println("---交换器的名字--4-"+s1);
        System.out.println("--发送消息的时候使用的路由Key-5---"+s2);
        //
        //修改本地消息表消息的状态  没有正常发送到队列 2
        //到DB去修改
        System.out.println("-----发送失败---修改本地消息表消息的状态  没有正常发送到队列 2");

    }
}
